import axios from 'axios'
import store from '@/store';
import Vue from 'vue'
import { Toast } from 'vant';
Vue.use(Toast);

export const baseURL= 'http://localhost:8089'
const axiosServer = axios.create({

    // baseURL: 'http://localhost:8090',    
    baseURL: 'http://localhost:8089',  //自己启动的IP地址
    timeout: 3000,
})

// 请求拦截器
axiosServer.interceptors.request.use(
	function (config) {
        console.log('发送请求之前，执行这里的代码');
		// 发送请求之前，执行这里的代码
		// 在请求拦截器
		// 将登录成功保存的token设置到authorization请求头，发送给后端
		// 1. 获取登录成功保存的token
		let token = store.getters.token// localStorage.getItem('Token')
       
		if (token) {
			// 2. 设置到authorization请求头
			config.headers.common['authorization'] = token
		}

		return config
	},
	function (err) {
		//处理请求错误
		return Promise.reject(err)
	}
)

/**
 * 添加axios响应拦截器
 *   作用: 所有网络请求响应都到这来处理
 *       1. 过滤响应数据
 *           response.data
 *       2. 响应错误处理
 *     
 */
axiosServer.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response.data;
  }, function (error) {
    // 对响应错误做点什么
	switch (error.response.status) {
        case 404:
		case 401:
        case 400:
            Toast('客户端请求有语法错误，不能被服务器所理解' );
            break;
        case 403:
            Toast('权限不足,请联系管理员!');
        case 504:
        case 505:
        case 500:
            Toast('服务器发生不可预期的错误');
            break;
        default:
            Toast('未知错误!');
    }
    return Promise.reject(error);
  });


export default axiosServer